package cn.demo.act.service.impl;

import java.util.List;
import com.mybatisflex.core.paginate.Page;
import cn.demo.common.core.page.PageQuery;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import cn.demo.act.mapper.ActMaterialMapper;
import cn.demo.act.domain.ActMaterial;
import cn.demo.act.service.IActMaterialService;

/**
 * 活动材料管理Service业务层处理
 *
 * @author xtjun
 * @date 2024-06-06
 */
@Service
public class ActMaterialServiceImpl extends ServiceImpl<ActMaterialMapper, ActMaterial> implements IActMaterialService {
    @Resource
    private ActMaterialMapper actMaterialMapper;
    /**
     * 查询活动材料管理
     *
     * @param id 活动材料管理主键
     * @return 活动材料管理
     */
    @Override
    public ActMaterial selectActMaterialById(String id) {
        return actMaterialMapper.selectOneById(id);
    }

    /**
     * 查询活动材料管理列表
     *
     * @param actMaterial 活动材料管理
     * @return 活动材料管理
     */
    @Override
    public Page<ActMaterial> selectActMaterialPage(ActMaterial actMaterial, PageQuery pageQuery) {
        return actMaterialMapper.paginate(pageQuery.build(), QueryWrapper.create(actMaterial,ActMaterial.operators));
    }
    @Override
    public List<ActMaterial> selectActMaterialList(ActMaterial actMaterial) {
        return actMaterialMapper.selectListByQuery(QueryWrapper.create(actMaterial,ActMaterial.operators));
    }

    /**
     * 新增活动材料管理
     *
     * @param actMaterial 活动材料管理
     * @return 结果
     */
    @Override
    public int insertActMaterial(ActMaterial actMaterial) {
        return actMaterialMapper.insert(actMaterial);
    }

    /**
     * 修改活动材料管理
     *
     * @param actMaterial 活动材料管理
     * @return 结果
     */
    @Override
    public int updateActMaterial(ActMaterial actMaterial) {
        return actMaterialMapper.update(actMaterial);
    }

    /**
     * 批量删除活动材料管理
     *
     * @param ids 需要删除的活动材料管理主键
     * @return 结果
     */
    @Override
    public int deleteActMaterialByIds(List<String> ids) {
        return actMaterialMapper.deleteBatchByIds(ids);
    }

    /**
     * 删除活动材料管理信息
     *
     * @param id 活动材料管理主键
     * @return 结果
     */
    @Override
    public int deleteActMaterialById(String id) {
        return actMaterialMapper.deleteById(id);
    }
}
